_all_dbs, _all_docs, _changes API

Database Tutorials - কাউচডিবি (CouchDB) CouchDB এর মৌলিক ধারণা |
227
227

CouchDB এর RESTful API ব্যবহার করে বিভিন্ন ডেটাবেস এবং ডকুমেন্টের উপর কার্যকরী কাজ করা যায়। এই API গুলো ডেটাবেস এবং ডকুমেন্টের অবস্থা দেখতে এবং তাদের মধ্যে পরিবর্তন ট্র্যাক করতে সাহায্য করে। নিচে _all_dbs, _all_docs, এবং _changes API গুলোর বিস্তারিত আলোচনা করা হলো।


1. _all_dbs API

_all_dbs API ব্যবহার করে CouchDB সার্ভারে উপলব্ধ সকল ডেটাবেসের তালিকা পাওয়া যায়। এটি খুবই কার্যকরী যখন আপনি সার্ভারে কতগুলি ডেটাবেস আছে তা দেখতে চান।

ব্যবহার

  • এন্ডপয়েন্ট: GET /_all_dbs
  • ফাংশন: সমস্ত উপলব্ধ ডেটাবেসের নামের একটি তালিকা ফেরত দেয়।

উদাহরণ:

GET /_all_dbs

প্রত্যাবর্তিত ফলাফল:

[
  "db1",
  "db2",
  "db3"
]

বৈশিষ্ট্য:

  • এই API শুধুমাত্র ডেটাবেসের নাম ফিরিয়ে দেয়, ডেটাবেসের বিষয়বস্তু বা তাদের মধ্যে কোন ডেটা নেই।
  • সার্ভারের মধ্যে সমস্ত ডেটাবেসের তালিকা পেতে এটি ব্যবহৃত হয়।

2. _all_docs API

_all_docs API ব্যবহার করে একটি নির্দিষ্ট ডেটাবেসের সকল ডকুমেন্টের তালিকা পাওয়া যায়। এটি একটি ডেটাবেসে সংরক্ষিত সমস্ত ডকুমেন্টের _id, _rev, এবং অন্যান্য মেটাডেটা প্রদান করে।

ব্যবহার

  • এন্ডপয়েন্ট: GET /{database}/_all_docs
  • ফাংশন: একটি ডেটাবেসের সব ডকুমেন্টের তালিকা ফেরত দেয়।

উদাহরণ:

GET /mydb/_all_docs

প্রত্যাবর্তিত ফলাফল:

{
  "rows": [
    {
      "id": "doc1",
      "key": "doc1",
      "value": {
        "rev": "1-967a00dff5e02add41819138abb7f4f8"
      }
    },
    {
      "id": "doc2",
      "key": "doc2",
      "value": {
        "rev": "2-9c97b3c930f3548f522dcd90f93a4d28"
      }
    }
  ]
}

বৈশিষ্ট্য:

  • ডকুমেন্টের metadata (যেমন id এবং rev) প্রদান করা হয়।
  • limit এবং skip প্যারামিটার ব্যবহার করে আপনি রেকর্ডের পরিসীমা নির্ধারণ করতে পারেন।
  • আপনি include_docs=true প্যারামিটার ব্যবহার করে ডকুমেন্টের পূর্ণ তথ্য (অথবা কন্টেন্ট) দেখতে পারেন।

উদাহরণ (সঙ্গে ডকুমেন্ট):

GET /mydb/_all_docs?include_docs=true

প্রত্যাবর্তিত ফলাফল:

{
  "rows": [
    {
      "id": "doc1",
      "key": "doc1",
      "doc": {
        "_id": "doc1",
        "_rev": "1-967a00dff5e02add41819138abb7f4f8",
        "name": "John",
        "age": 30
      }
    },
    {
      "id": "doc2",
      "key": "doc2",
      "doc": {
        "_id": "doc2",
        "_rev": "2-9c97b3c930f3548f522dcd90f93a4d28",
        "name": "Jane",
        "age": 25
      }
    }
  ]
}

3. _changes API

_changes API CouchDB ডাটাবেসে সমস্ত পরিবর্তনের (insert, update, delete) একটি তালিকা প্রদান করে। এটি changes feed হিসেবে পরিচিত এবং এটি খুবই উপকারী যখন আপনি একটি ডেটাবেসের উপর ট্র্যাকিং করতে চান যে কখন এবং কী ধরনের পরিবর্তন হয়েছে।

ব্যবহার

  • এন্ডপয়েন্ট: GET /{database}/_changes
  • ফাংশন: ডেটাবেসে সমস্ত পরিবর্তন ট্র্যাক করে।

উদাহরণ:

GET /mydb/_changes

প্রত্যাবর্তিত ফলাফল:

{
  "results": [
    {
      "seq": "1-g1o7h4",
      "id": "doc1",
      "changes": [
        {
          "rev": "1-967a00dff5e02add41819138abb7f4f8"
        }
      ]
    },
    {
      "seq": "2-g1o7h5",
      "id": "doc2",
      "changes": [
        {
          "rev": "2-9c97b3c930f3548f522dcd90f93a4d28"
        }
      ]
    }
  ]
}

বৈশিষ্ট্য:

  • seq: পরিবর্তনের সিকোয়েন্স নম্বর।
  • id: সংশ্লিষ্ট ডকুমেন্টের ID।
  • changes: পরিবর্তনের রিভিশন।
  • since প্যারামিটার ব্যবহার করে পূর্বের নির্দিষ্ট স্থান থেকে পরিবর্তন দেখতে পারেন।
  • feed প্যারামিটার (longpoll, continuous, normal) ব্যবহার করে আপনি একাধিক পরিবর্তন দেখতে পারেন।

উদাহরণ (continuous feed):

GET /mydb/_changes?feed=continuous

এই কনফিগারেশন ডেটাবেসের উপর লাইভ পরিবর্তন ট্র্যাক করতে সক্ষম।


সারাংশ

  • _all_dbs API: সমস্ত ডেটাবেসের নামের একটি তালিকা প্রদান করে।
  • _all_docs API: নির্দিষ্ট ডেটাবেসের সমস্ত ডকুমেন্টের তালিকা এবং মেটাডেটা প্রদান করে।
  • _changes API: ডেটাবেসের পরিবর্তনের ইতিহাস বা পরিবর্তন সিকোয়েন্স ট্র্যাক করতে সাহায্য করে।

এই API গুলো CouchDB এর সাথে ইন্টিগ্রেশন এবং ডেটাবেস পরিচালনার জন্য অত্যন্ত কার্যকরী, বিশেষত যখন আপনি ডেটাবেসের উপর নিরীক্ষণ করতে চান বা পরিবর্তন ট্র্যাক করতে চান।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion